1 using System;
2 using
System.Collections;
3 using
System.Collections.Generic;
4 using
System.IO;
5 using
System.Linq;
6 using
System.Text;
7
8 using
UnityEditor;
9 using
UnityEngine;
10
11 namespace
Tiled2Unity
12 {
13     
class Tiled2UnityMenuItems
14     {
15         
// Convenience function for packaging this library
16         
[MenuItem("Tiled2Unity/Export Tiled2Unity Library ...")]
17         
static void ExportLibrary()
18         {
19             
string name = String.Format("Tiled2Unity.{0}.unitypackage", ImportTiled2Unity.ThisVersion);
20             
var path = EditorUtility.SaveFilePanel("Save texture as PNG", "", name, "unitypackage");
21             
if (path.Length != 0)
22             {
23                 List<
string> packageFiles = new List<string>();
24                 packageFiles.AddRange(EnumerateAssetFilesAt(
"Assets/Tiled2Unity", ".cs", ".shader", ".txt"));
25                 AssetDatabase.ExportPackage(packageFiles.ToArray(), path);
26             }
27         }
28
29         
// Not ready for public consumption yet. (But handy to have for development)
30         
//[MenuItem("Tiled2Unity/Clean Tiled2Unity Files")]
31         
//static void CleanFiles()
32         
//{
33         
// Debug.LogWarning("Cleaning out Tiled2Unity files that were automatically created. Re-import your *.tiled2unity.xml files to re-create them.");
34         
// DeleteAssetsAt("Assets/Tiled2Unity/Materials");
35         
// DeleteAssetsAt("Assets/Tiled2Unity/Meshes");
36         
// DeleteAssetsAt("Assets/Tiled2Unity/Prefabs");
37         
// DeleteAssetsAt("Assets/Tiled2Unity/Textures");
38         
//}
39
40         
private static IEnumerable<string> EnumerateAssetFilesAt(string dir, params string[] extensions)
41         {
42             
foreach (string d in Directory.GetDirectories(dir))
43             {
44                 
foreach (string f in Directory.GetFiles(d))
45                 {
46                     
if (extensions.Any(ext => String.Compare(ext, Path.GetExtension(f), true) == 0))
47                     {
48                         
yield return f;
49                     }
50                 }
51
52                 
foreach (string f in EnumerateAssetFilesAt(d, extensions))
53                 {
54                     
yield return f;
55                 }
56             }
57         }
58
59         
private static void DeleteAssetsAt(string dir)
60         {
61             
// Note: Does not remove any text files.
62             
foreach (string f in Directory.GetFiles(dir))
63             {
64                 
if (f.EndsWith(".txt", true, null))
65                     
continue;
66
67                 
if (f.EndsWith(".meta", true, null))
68                     
continue;
69
70                 
// Just to be safe. Do not remove scripts.
71                 
if (f.EndsWith(".cs", true, null))
72                     
continue;
73
74                 AssetDatabase.DeleteAsset(f);
75             }
76         }
77
78     }
79 }


Convenience function for packaging this library

Not ready for public consumption yet. (But handy to have for development)

[MenuItem("Tiled2UnityClean Tiled2Unity Files")]

static void CleanFiles()

{

Debug.LogWarning("Cleaning out Tiled2Unity files that were automatically created. Re-import your *.tiled2unity.xml files to re-create them.");

DeleteAssetsAt("AssetsTiled2UnityMaterials");

DeleteAssetsAt("AssetsTiled2UnityMeshes");

DeleteAssetsAt("AssetsTiled2UnityPrefabs");

DeleteAssetsAt("AssetsTiled2UnityTextures");

}

Note: Does not remove any text files.

Just to be safe. Do not remove scripts.




Trò chơi đua xe động vật trong UNITY Engine 114.734 lượt xem

Gõ tìm kiếm nhanh...